Mobile users, especially business professionals, have a need to reliably access their data sources and internet sources any time, any place. Data sources and internet sources include, for example, contact information, customer information, transaction information, news, and company profiles. The following describes the importance of such information:                a) Contact information. Business users need to have immediate access to all their business and personal contacts, out-of-the-office or in-the-office.        b) Customer information. Business users need to have immediate access to their customer information.        c) Transaction information. Business users need to have immediate access to orders, leads, service requests, invoices, quotes, and other business transaction information.        d) News. Business users need up-to-date news information.        e) Company Profiles. Business users look for companies that may become possible customers.        
Use of the following applications and information have increased over the years.                a) Data sources: Over the past several years, companies have been creating and collecting information in data sources. Business applications such as ERP, CRM, HR have become common-place at all businesses.        b) Internet sources: Over the past several years, numerous web sites that store information such as emails, news, personal information, company information, financial information, airline flight information, etc. have become available to users over the world wide web. Most users use a web-browser to access this information.        c) Mobile phones. Over the past several years, mobile phone shipments have been rapidly expanding across the world. In addition, wireless carriers and device manufacturers have been adding mobile browsers to allow users to access the world-wide-web on their mobile phones.        d) Carrier networks. Although faster mobile carrier bandwidth is available in more and more cities, conventional carrier network bandwidth commonly may provide approximately 50-200 kbps of network bandwidth. It is common for web-browser requests to take 30+ seconds to render a web page on a mobile phone. In addition, due to the relatively long wavelength of current wireless network signals, users commonly encounter low or non-existent mobile phone coverage as they travel (e.g., no coverage while inside buildings, when line-of-sight to wireless towers is blocked by obstacles, etc.).        e) Multiple computing devices. Conventionally, users may employ multiple computing devices in any one day. For example, it is common for business professionals to use a computer at their office, another computer at their home, and to have a mobile phone that they take with them wherever they go.        f) Multiple Siloed applications. Users use various applications on their computing devices, such as a calendar program for tracking schedules and appointments, an email application for receiving and sending electronic messages, an address book for storing contact information, a to-do application for tracking tasks and their priorities, a CRM application for recording customer relationship information, an ERP application for recording accounting, inventory, and other back-office information, etc. Often, data in one application, such as contact information, is repeated in multiple applications. Commonly, the data in one siloed application is related to data in another siloed application.        
Because these applications were built independently and by different vendors, users must use separate siloed applications to access their data. To view data for a given customer, users must re-input the information in each application. On computing devices such as mobile phones where data input methods are non-optimal or where network latency is high, re-inputting data is very time-consuming and frustrating to users. Due to the high burden on the user to re-input data, most mobile users today do not access their data on their computing devices.
As shown in FIG. 1, a common implementation is to provide a UI that is based on a web-browser to send every request over the public Internet to a server for processing. The server consists of multiple components including: (1) a web server that handles http requests from the web-browsers and returns HTML to render in the web-browser; (2) an application server that retrieves data from the database server to return to the web server; and (3) a back-end DBMS server that stores all the data for the application.
The web-based UI architecture can be used on mobile devices such as cell phones by implementing a web-browser on the mobile device, and sending requests from the web browser to the server over a wireless carrier network. However, such an approach requires a network connection. Furthermore, response times over wireless carrier networks is slow.
FIG. 2 illustrates another conventional implementation. This implementation identifies a data set and loads it on a client machine for offline access. A Mobile Client UI can interact with the “snapshot” that is loaded on the client machine, enabling the use of the application without access to the server, thereby providing offline access when the client has limited or no network coverage.
The user is allowed to make data changes using the Mobile Client UI. These client changes are tracked, queued up, and applied to the server when network connectivity is re-established. A conventional optimization may include identifying and synchronizing incremental changes on the server and only re-transmitting records that have changed since the last synchronization, thereby minimizing network usage.
Many disadvantages are associated with this approach. A data subset must be specified and configured. Download of entire snapshots of data results in a heavy load on the server and network. The download process slows down and does not scale as data sets get larger when, for example, contact information is large (e.g., 100K contacts). In addition, data is only as fresh as the last synchronization.
FIG. 3 illustrates another exemplary conventional approach. In this approach, end users use both snapshot UI and web-based UIs in the same Client UI. The snapshot UI, as described above, is used as the primary UI to enable fast, offline access to the subset of data that the user has loaded on his client. The web-based UI, as described above, is offered as a secondary UI for the user to access data from the server that has not been loaded onto the client snapshot.
The disadvantages of this approach mirror those of the approaches discussed above. In addition, this approach undesirably provides separate and inconsistent UI behaviors, requiring the user to know which of the two UIs to use for his specific need.